package fl.ass.service.transform;

import java.util.ArrayList;
import java.util.List;

import fl.ass.facade.dto.AssSchFeeDDTO;
import fl.ass.service.po.AssSchFeeD;
import cn.cmm.base.framework.utils.CollectionUtils;

/**
 * @Description: 支付表费用项明细表 转换器
 * @Description: 服务层与展现层转换类
 * @Description: 所有的PO只能在持久成和服务层使用
 * @Description: 所有的DTO只能在展现层和服务层使用
 * @Description: 在服务层中向下是DTO转PO,向上是PO转DTO
 */
public class AssSchFeeDTransform {


	/**
	 * PO 转  DTO
	 * @param po AssSchFeeD
	 * @return AssSchFeeDDTO
	 */
	public static AssSchFeeDDTO toDTO(AssSchFeeD po) {
		AssSchFeeDDTO  dto = null;
		if (po != null) {
			dto = new AssSchFeeDDTO();
			dto.setId(po.getId());
			dto.setMasterId(po.getMasterId());//主表ID
			dto.setFeeTypeCd(po.getFeeTypeCd());//费用项(ASS0015)
			dto.setFeeDesc(po.getFeeDesc());//费用说明
			dto.setApplyAmt(po.getApplyAmt());//申请金额
			dto.setPayeeAccNm(po.getPayeeAccNm());//收款方账户名称  
			dto.setPayeeAccNo(po.getPayeeAccNo());//收款方银行账号
			dto.setPayeeBankNm(po.getPayeeBankNm());//收款方开户银行
			dto.setPayeeBankNo(po.getPayeeBankNo());//收款方开户行号 
			dto.setPayerAccNm(po.getPayerAccNm());//付款方账户名称
			dto.setPayerAccNo(po.getPayerAccNo());//付款方银行账号
			dto.setPayerBankNm(po.getPayerBankNm());//付款方开户银行
			dto.setPayAmt(po.getPayAmt());//实际付款金额
			dto.setPayTm(po.getPayTm());//实际付款时间
			dto.setIsDel(po.getIsDel());//是否删除 1-删除 0-正常

			dto.setCrtTm(po.getCrtTm());//创建时间
			dto.setCrtUsrId(po.getCrtUsrId());//创建人
			dto.setMdfTm(po.getMdfTm());//修改时间
			dto.setMdfUsrId(po.getMdfUsrId());//修改人
		}
		return dto;
	}

	/**
	 * DTO 转  PO
	 * @param dto AssSchFeeDDTO
	 * @return AssSchFeeD
	 */
	public static AssSchFeeD toPO(AssSchFeeDDTO dto) {
		AssSchFeeD po = null;
		if (dto != null) {
			po = new AssSchFeeD();
			po.setId(dto.getId());
			po.setMasterId(dto.getMasterId());//主表ID
			po.setFeeTypeCd(dto.getFeeTypeCd());//费用项(ASS0015)
			po.setFeeDesc(dto.getFeeDesc());//费用说明
			po.setApplyAmt(dto.getApplyAmt());//申请金额
			po.setPayeeAccNm(dto.getPayeeAccNm());//收款方账户名称  
			po.setPayeeAccNo(dto.getPayeeAccNo());//收款方银行账号
			po.setPayeeBankNm(dto.getPayeeBankNm());//收款方开户银行
			po.setPayeeBankNo(dto.getPayeeBankNo());//收款方开户行号 
			po.setPayerAccNm(dto.getPayerAccNm());//付款方账户名称
			po.setPayerAccNo(dto.getPayerAccNo());//付款方银行账号
			po.setPayerBankNm(dto.getPayerBankNm());//付款方开户银行
			po.setPayAmt(dto.getPayAmt());//实际付款金额
			po.setPayTm(dto.getPayTm());//实际付款时间
			po.setIsDel(dto.getIsDel());//是否删除 1-删除 0-正常

			po.setCrtTm(dto.getCrtTm());//创建时间
			po.setCrtUsrId(dto.getCrtUsrId());//创建人
			po.setMdfTm(dto.getMdfTm());//修改时间
			po.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return po;
	}

	/**
	 * PO集合 转 DTO集合
	 * @param list List<AssSchFeeD>
	 * @return List<AssSchFeeDDTO>
	 */
	public static List<AssSchFeeDDTO> toDTOList(List<AssSchFeeD> list) {
		List<AssSchFeeDDTO>  voList = new ArrayList<AssSchFeeDDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AssSchFeeD po : list) {
				voList.add(toDTO(po));
			}
		}
		return voList;
	}
	/**
	 * DTO集合   转   PO集合
	 * @param list List<AssSchFeeDDTO>
	 * @return List<AssSchFeeD>
	 */
	public static List<AssSchFeeD> toPOList(List<AssSchFeeDDTO> list) {
		List<AssSchFeeD>  poList = new ArrayList<AssSchFeeD>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AssSchFeeDDTO dto : list) {
				poList.add(toPO(dto));
			}
		}
		return poList;
	}


}
